Definition Dynamic Application Security Testing | DAST Was ist DAST?

Von Dipl.-Ing. (FH) Stefan Luber 4 min Lesedauer

Dynamic Application Security Testing untersucht Anwendungen auf Sicherheitslücken und -schwachstellen. Das Testverfahren betrachtet die Anwendung als Black Box und simuliert externe Verhaltensweisen wie Angriffe. Auf den eigentlichen Programmcode hat DAST keinen Zugriff. Für eine automatisierte Durchführung der Tests sind sowohl kommerzielle als auch Open-Source-basierte Tools einsetzbar.

Dynamic Application Security Testing  (DAST) ist die automatisierte Prüfung von Anwendungen auf Sicherheitslücken und -schwachstellen mittels dynamischen Anwendungssicherheitstests. (Bild:  gemeinfrei /  Pixabay)
Dynamic Application Security Testing (DAST) ist die automatisierte Prüfung von Anwendungen auf Sicherheitslücken und -schwachstellen mittels dynamischen Anwendungssicherheitstests.
(Bild: gemeinfrei / Pixabay)

DAST ist das Akronym für Dynamic Application Security Testing. Die deutsche Übersetzung lautet dynamische Anwendungssicherheitstests. Manchmal wird DAST auch als Black Box Testing bezeichnet. Dynamic Application Security Testing untersucht kompilierte, ausgeführte Anwendungen automatisiert auf Sicherheitslücken und Sicherheits­schwachstellen. Dynamische Anwendungs­sicherheits­tests sind ein wichtiger Bestandteil der Anwendungssicherheit. Sie werden häufig kombiniert mit anderen Testverfahren wie SAST (Static Application Security Testing) oder IAST (Interactive Application Security Testing) zur Bereitstellung sicherer Anwendungen angewandt. Für das Dynamic Application Security Testing kommen kommerzielle oder Open-Source-basierte DAST-Tools zum Einsatz, die externe Verhaltensweisen wie Angriffe simulieren, um Sicherheitslücken aufzudecken. Gefundene Schwachstellen müssen anschließend näher analysiert und in der Codebasis der Anwendung korrigiert werden. Auf den Programmcode selbst hat DAST keinen Zugriff. Das Web Application Vulnerability Scanner Evaluation Project (WAVSEP) stellt eine Plattform zur Verfügung, mit der sich Scanner für Web-Applicationen hinsichtlich verschiedener Aspekte wie Funktionalität, Leistungsfähigkeit und Erkennungsgenauigkeit testen und bewerten lassen.

Prinzipielle Funktionsweise des Dynamic Application Security Testing

Beim Dynamic Application Security Testing handelt es sich um ein Black-Box-Verfahren. Es betrachtet die zu testende Anwendung von außen als ein unbekanntes System. Für die Durchführung der Tests ist es erforderlich, dass der Programmcode kompiliert und ausgeführt wird. Befindet sich eine Anwendung in einer Entwicklungsphase, in der noch kein, zumindest in Teilen lauffähiger Code zur Verfügung steht, kann DAST noch nicht angewandt werden. DAST-Tools, auch als Vulnerability-Scanner oder nur als Scanner bezeichnet, simulieren externe Verhaltensweisen wie Angriffe und beobachten das Verhalten der Anwendung. Als Ergebnisse liefern die Tests problematisches Verhalten der Anwendungen und erkannte Sicherheitsschwachstellen. Eine Verknüpfung der erkannten Probleme mit den jeweiligen Teilen des Programmcodes kann DAST nicht herstellen. DAST liefert lediglich Hinweise, an welchen Stellen oder Funktionsblöcken das Problem zu finden sein könnte. Die Verknüpfung mit den jeweiligen Codezeilen und die Korrektur des Programmcodes muss vom Entwickler oder dem Testteam vorgenommen werden. Typische Schwachstellen, nach denen DAST-Scanner suchen, sind zum Beispiel Anfälligkeiten für Cross-Site-Scripting, SQL-Injection, PHP-Injection, Javascript-Injection oder Denial-of-Service-Angriffe, Fehlkonfigurationen, fehlende Absicherung von Programmeingaben und User-Interaktionen, Ausführung von unerwünschtem Programmcode, Speicherüberlauf, unerwünschte Preisgabe sensibler Informationen, Rechteausweitung, unerlaubte Prozess- oder Dateizugriffe und vieles mehr.

Abgrenzung von DAST zum Static und zum Interactive Application Security Testing

Es gibt verschiedene Verfahren, mit denen sich die Sicherheit von Anwendungen testen lässt. Neben dem Dynamic Application Security Testing kommen häufig das Static Application Security Testing (SAST) und das Interactive Application Security Testing (IAST) zum Einsatz. SAST zählt zu den White-Box-Verfahren. Es hat direkten Zugriff auf den Programmcode einer Anwendung und prüft automatisiert den kompletten Code auf Schwachstellen oder Sicherheitslücken. Die Anwendung selbst wird beim Testen nicht ausgeführt. Auch das Kompilieren des Programmcodes ist nicht notwendig. SAST verwendet Tests-Tools, die mit der jeweils verwendeten Programmiersprache kompatibel sind. Der Code wird nach einem bestimmten Regelsatz nach sicherheitstechnisch problematischen Codebestandteilen untersucht. Die Tools liefern detaillierte Reports zu den Testergebnissen und geben Hinweise und Empfehlungen, wie sich gefundene Schwachstellen im Code beheben lassen. Da die Anwendung selbst für die Tests noch nicht lauffähig sein muss, ist das Static Application Security Testing bereits in einer sehr frühen Phase des Softwareentwicklungsprozesses anwendbar.

Eine Art von Mischform aus SAST und DAST ist das Interactive Application Security Testing (IAST). Es testet wie DAST laufende Anwendungen von außen mit simulierten Angriffen und Userinteraktionen und beobachtet das Verhalten der Anwendungen in Echtzeit. Gleichzeitig hat IAST über Sensoren Zugriff auf den Programmcode und die internen Abläufe. Dadurch lässt sich eine von außen erkannte Sicherheitsschwachstelle direkt mit den entsprechenden Zeilen des Programmcodes in Verbindung bringen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Stärken und Schwächen von DAST

Zu den Stärken des Dynamic Application Security Testing zählen:

  • DAST funktioniert unabhängig von der für die Anwendung genutzten Programmiersprache
  • durch Simulation echter Verhaltensweisen und Angriffe werden Fehler in laufenden Anwendungen gefunden
  • die Wahrscheinlichkeit für falsch positive Ergebnisse ist relativ gering
  • die Tests sind hochgradig automatisierbar und simulieren Bedrohungen, die von Organisationen wie OWASP gelistet werden
  • Dynamic Application Security Testing lässt sich auch für nachlaufende Sicherheitstests einsetzen
  • es gibt zahlreiche kommerzielle und Open-Source-basierte DAST-Tools

Als Schwächen von DAST gelten:

  • das externe Scannen von Anwendungen auf Sicherheitsschwachstellen kann viel Zeit in Anspruch nehmen
  • es lässt sich kein direkter Bezug zu den Codeteilen herstellen, die das Sicherheitsproblem verursachen
  • die Tests finden erst in einer späteren Phase des Softwareentwicklungsprozesses oder nachlaufend statt (Fehler werden erst spät gefunden und sind kostspieliger zu beheben)
  • die DAST-Tools simulieren vordefinierte Angriffsarten, die unter Umständen nur aufwendig individuell anzupassen sind

(ID:49671248)